﻿using System.Globalization;
using System.Windows.Controls;
using System.Windows.Data;
using MaxStoreShop.Domain.Directories;

namespace MaxStoreShop.Logic.Validators
{
    public class CharacterValidator : ValidationRule
    {
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            var bindingGroup = value as BindingGroup;
            if (bindingGroup == null)
                return new ValidationResult(false, "Строка для проверки не является BindingGroup!");

            if (bindingGroup.Items == null || bindingGroup.Items.Count == 0)
                return ValidationResult.ValidResult;

            var character = bindingGroup.Items[0] as Character;
            if (character == null)
                return new ValidationResult(false, "Строка для проверки не является Character!");

            if (string.IsNullOrWhiteSpace(character.FirstName))
                return new ValidationResult(false, "Имя человека не должно быть пустым!");

            if (string.IsNullOrWhiteSpace(character.LastName))
                return new ValidationResult(false, "Фамилия человека не должна быть пустой!");

            if (string.IsNullOrWhiteSpace(character.Phone))
                return new ValidationResult(false, "Телефон человека не должен быть пустым!");

            return ValidationResult.ValidResult;
        }
    }
}
